package com.ssy.lingxi.settle.accounts.model.vo.request;

import com.ssy.lingxi.common.model.vo.PageVO;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 查询可核销请款明细的查询参数VO
 * @author 彭冬冬
 * @date 2021/12/31
 * @version 2.0.0
 */
public class CanApplyAmountRowQueryParameterVO extends PageVO implements Serializable {

    private static final long serialVersionUID = 6581999402412802839L;
    /**
     * 查询的单据id大于0
     */
    @Positive(message = "单据id大于0")
    @NotNull(message = "单据id大于0")
    private Long billId;

    /**
     * 单据来源合同id， 单据来源合同id不能小于0 ，没有传 0
     */
    @PositiveOrZero(message = "单据来源合同id不能小于0")
    @NotNull(message = "单据来源合同id必须填写")
    private Long sourceContractId;

    /**
     * 排除行id，不存在是传 0
     */
    @PositiveOrZero(message = "排除行id不能小于0")
    @NotNull(message = "排除行id必须填写")
    private Long notQueryDetailId;

    /**
     * 税率, 必传
     */
    @PositiveOrZero(message = "税率")
    @NotNull(message = "税率")
    private BigDecimal taxRate;

    public Long getBillId() {
        return billId;
    }

    public void setBillId(Long billId) {
        this.billId = billId;
    }

    public Long getSourceContractId() {
        return sourceContractId;
    }

    public void setSourceContractId(Long sourceContractId) {
        this.sourceContractId = sourceContractId;
    }

    public Long getNotQueryDetailId() {
        return notQueryDetailId;
    }

    public void setNotQueryDetailId(Long notQueryDetailId) {
        this.notQueryDetailId = notQueryDetailId;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }
}
